Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: Increment validator and corresponding mutations #1715

Draft
wants to merge 19 commits into
base: master
Choose a base branch
from

Conversation

v0d1ch
Copy link
Contributor

@v0d1ch v0d1ch commented Oct 18, 2024


  • CHANGELOG updated or not needed
  • Documentation updated or not needed
  • Haddocks updated or not needed
  • No new TODOs introduced or explained herafter

@v0d1ch v0d1ch self-assigned this Oct 18, 2024
@v0d1ch v0d1ch force-pushed the increment-mutations branch 14 times, most recently from fbdb64f to 81df483 Compare October 23, 2024 09:29
Copy link

github-actions bot commented Oct 24, 2024

Transaction cost differences

Script summary

Name Size (Bytes)
νInitial -
νCommit $${\color{green}-65.00}$$
νHead +1007
μHead -
νDeposit -

Init transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 - - - -
2 - - - -
3 - - - -
5 - - - -
10 - - - -
57 - - - -

Commit transaction costs

UTxO Tx size % max Mem % max CPU Min fee ₳
1 - - - -
2 - - - -
3 - - - -
5 - - - -
10 - - - -
19 - - - -

CollectCom transaction costs

Parties UTxO (bytes) Tx size % max Mem % max CPU Min fee ₳
1 - - $${\color{green}-0.65}$$ $${\color{green}-0.24}$$ $${\color{green}-0.01}$$
2 - - +1.16 +0.42 +0.01
3 - - +1.41 +0.5 +0.01
4 - - $${\color{green}-1.64}$$ $${\color{green}-0.62}$$ $${\color{green}-0.02}$$
5 - - $${\color{green}-4.15}$$ $${\color{green}-1.51}$$ $${\color{green}-0.04}$$
6 - - $${\color{green}-3.36}$$ $${\color{green}-1.23}$$ $${\color{green}-0.04}$$
7 - - $${\color{green}-2.97}$$ $${\color{green}-1.10}$$ $${\color{green}-0.03}$$
8 - - +7.66 +2.79 +0.08
9 - - +0.78 +0.23 +0.01

Cost of Decrement Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 - 0.36 0.13 +0.01
2 - 0.37 0.14 +0.01
3 - 0.09 0.03 -
5 - 0.09 0.03 -
10 - 0.09 0.03 -
46 - 0.09 0.03 +0.01

Close transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 - +0.12 +0.05 -
2 - +0.08 +0.02 +0.01
3 - +0.16 +0.06 -
5 - +0.12 +0.04 +0.01
10 - +0.25 +0.09 -
50 - $${\color{green}-0.05}$$ $${\color{green}-0.02}$$ -

Contest transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 - +0.09 +0.03 -
2 - +0.09 +0.03 -
3 - +0.05 +0.01 -
5 - +0.05 +0.02 -
10 - - - -
38 - +0.48 +0.18 -

Abort transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 - +0.17 +0.06 -
2 - +0.12 +0.05 -
3 - $${\color{green}-0.07}$$ $${\color{green}-0.03}$$ -
4 - +0.09 +0.05 -
5 - +0.23 +0.1 -
6 - $${\color{green}-0.44}$$ $${\color{green}-0.17}$$ -
7 - +0.44 +0.17 +0.01
8 - $${\color{green}-0.68}$$ $${\color{green}-0.25}$$ -
9 - +1.4 +0.55 +0.02
10 - $${\color{green}-0.29}$$ $${\color{green}-0.10}$$ -
11 - +0.31 +0.13 -
12 - +1.02 +0.41 +0.01
13 - +0.61 +0.26 -

FanOut transaction costs

Parties UTxO UTxO (bytes) Tx size % max Mem % max CPU Min fee ₳
10 - - - 0.04 0.01 -
10 - - - 0.04 0.02 -
10 - - - 0.04 0.01 -
10 - - - 0.04 0.01 -
10 - - - 0.04 0.01 -
10 - - - 0.04 0.01 -
10 - - - 0.04 0.02 -
10 - - - 0.03 0.01 -
10 - - - 0.04 0.01 -

@v0d1ch v0d1ch force-pushed the increment-mutations branch 3 times, most recently from f1ffd76 to 041c291 Compare October 25, 2024 10:02
v0d1ch and others added 6 commits October 25, 2024 12:25
Seems like this redeemer is needed to cover all posible scenarios
and it is not captured in the spec so we will need to add this in.
Copy link

github-actions bot commented Oct 28, 2024

Transaction costs

Sizes and execution budgets for Hydra protocol transactions. Note that unlisted parameters are currently using arbitrary values and results are not fully deterministic and comparable to previous runs.

Metadata
Generated at 2024-10-28 13:50:27.284598646 UTC
Max. memory units 14000000
Max. CPU units 10000000000
Max. tx size (kB) 16384

Script summary

Name Hash Size (Bytes)
νInitial 4b38bf22bd850f79a75355e8908302a78bda642674fba87d1d3f2a6a 3969
νCommit 3767add3ba46f9111861d5342a3b3b11fbc44940633c37d6968a7699 627
νHead 990a5023e82f48aa492d46162f5eb53c9df6b7bef391070793aecfa1 11804
μHead ba0c4d64c18a2aafab39c990cef18cf598dcac7d5fa09704fc26a1bb* 4508
νDeposit 703883df80fe589a8f64a4127057f28c9100ea9ebbb3e726c05e89ca 3096
  • The minting policy hash is only usable for comparison. As the script is parameterized, the actual script is unique per head.

Init transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 5096 5.61 2.21 0.44
2 5298 7.13 2.82 0.46
3 5498 8.55 3.38 0.49
5 5901 11.31 4.47 0.53
10 6906 18.30 7.24 0.65
57 16357 82.99 32.83 1.78

Commit transaction costs

This uses ada-only outputs for better comparability.

UTxO Tx size % max Mem % max CPU Min fee ₳
1 569 10.84 4.26 0.29
2 759 14.31 5.80 0.34
3 945 17.92 7.39 0.39
5 1317 25.56 10.73 0.49
10 2259 47.11 19.97 0.77
19 3944 94.71 39.81 1.38

CollectCom transaction costs

Parties UTxO (bytes) Tx size % max Mem % max CPU Min fee ₳
1 57 560 20.77 7.91 0.40
2 114 671 29.20 11.09 0.50
3 170 782 35.29 13.43 0.57
4 224 896 44.40 16.87 0.67
5 281 1004 56.25 21.29 0.80
6 339 1116 56.84 21.67 0.81
7 395 1227 74.03 28.04 1.00
8 450 1338 72.16 27.52 0.99
9 504 1449 83.88 31.89 1.12

Cost of Decrement Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 645 18.76 8.20 0.39
2 826 20.71 9.72 0.42
3 902 21.46 10.80 0.44
5 1184 23.65 13.15 0.49
10 2075 36.09 21.86 0.69
46 7459 97.97 73.72 1.80

Close transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 652 20.95 9.35 0.42
2 741 21.98 10.45 0.44
3 914 23.89 12.25 0.47
5 1225 27.18 15.45 0.54
10 2171 36.09 24.17 0.71
48 7668 94.69 81.98 1.84

Contest transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 676 26.86 11.49 0.48
2 841 28.63 13.07 0.51
3 975 30.48 14.66 0.55
5 1388 35.15 18.75 0.63
10 2112 44.86 27.19 0.80
38 6152 97.45 73.23 1.74

Abort transaction costs

There is some variation due to the random mixture of initial and already committed outputs.

Parties Tx size % max Mem % max CPU Min fee ₳
1 4979 15.50 6.63 0.54
2 5072 19.42 8.22 0.59
3 5217 26.40 11.33 0.67
4 5347 35.05 15.15 0.78
5 5503 41.87 18.20 0.86
6 5558 48.54 21.02 0.94
7 5929 57.62 25.38 1.06
8 5934 61.00 26.56 1.10
9 6071 67.71 29.58 1.18
10 6128 71.47 31.01 1.22
11 6396 81.87 35.89 1.35
12 6430 93.58 40.75 1.48
13 6581 95.11 41.43 1.51
14 6757 98.58 42.97 1.55

FanOut transaction costs

Involves spending head output and burning head tokens. Uses ada-only UTxO for better comparability.

Parties UTxO UTxO (bytes) Tx size % max Mem % max CPU Min fee ₳
10 0 0 5090 10.23 4.27 0.49
10 1 57 5124 11.00 4.83 0.50
10 5 285 5260 15.95 7.84 0.57
10 10 570 5429 22.19 11.62 0.65
10 20 1139 5768 33.00 18.48 0.80
10 30 1708 6110 45.28 25.97 0.97
10 40 2276 6447 56.78 33.13 1.13
10 50 2840 6782 68.28 40.29 1.29
10 77 4386 7706 99.78 59.83 1.73

End-to-end benchmark results

This page is intended to collect the latest end-to-end benchmark results produced by Hydra's continuous integration (CI) system from the latest master code.

Please note that these results are approximate as they are currently produced from limited cloud VMs and not controlled hardware. Rather than focusing on the absolute results, the emphasis should be on relative results, such as how the timings for a scenario evolve as the code changes.

Generated at 2024-10-28 13:52:46.43491482 UTC

Baseline Scenario

Number of nodes 1
Number of txs 300
Avg. Confirmation Time (ms) 4.755053610
P99 8.93962092999999ms
P95 6.46601185ms
P50 4.5444305ms
Number of Invalid txs 0

Three local nodes

Number of nodes 3
Number of txs 900
Avg. Confirmation Time (ms) 25.560006626
P99 120.08514249999999ms
P95 35.09753534999999ms
P50 22.031072ms
Number of Invalid txs 0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants